// 增量事件-订单
import { getURL, $http } from './api.js';
import { createDocument, getCurrentDate, deleteDocumentByCondition } from '../index.js';
(function() {
  /**
   * 获取增量事件列表
  */
  getEventList(1);
  function getEventList(page) {
    var uri = getURL('/scrm/event/get-list');
    var startTime = Math.floor(getCurrentDate().getTime() / 1000);
    var endTime = Math.floor((getCurrentDate().getTime() - 864e5) / 1000);
    var params = {};
    var headers = {
      'Content-Type': 'application/json;charset=UTF-8'
    }
    var bodyParams = {
      start_time: startTime,
      end_time: endTime,
      event: 'order',
      page,
      page_size: 500
    }
    var res = $http.post({
      uri,
      params,
      headers,
      data: bodyParams
    })
    // 如果请求失败，进行重试
    if (res.code == 40000) {
      getEventList(page);
      return;
    }
    if (res.status != 'ok') {
      return
    }
    var data = res.data;
    var list = data.data;
    // 如果有下一页，继续获取
    if (data.last_page > data.current_page) {
      getEventList(++page);
    }
    for (var i = 0; i < list.length; i++) {
      var item = list[i];
      getOrderDetail(item);
    }
  }

  // 获取订单详情
  function getOrderDetail(item) {
    var formName = '订单明细表';
    var orderNo = item.param.order_no;
    // 先删除原本的订单数据
    deleteDocumentByCondition({
      formName,
      conditions: {
        '订单编号': orderNo
      }
    })
  
    // 重新插入新订单数据
    var uri = getURL("/scrm/order/get-orders-list");
    var params = {};
    var resData = $http.post({
      uri,
      params,
      data: {
        'order_no': orderNo
      }
    })
    // 如果请求失败，进行重试
    if (resData.code == 40000) {
      getOrderDetail(item);
      return;
    }
    if (resData.status != 'ok') {
      return
    }
    var data = resData.data;
    var list = data.data;
    for (var k = 0; k < list.length; k++) {
      var item = list[k];
      createDocument({
        formName: '订单明细表',
        formData: {
          '订单类型': item.goods_type,
          '订单编号': item.order_no,
          '手机号': item.mobile,
          '活动类型': item.activity_type,
          '活动编号': item.marketing_id,
          '支付金额': item.pay_total,
          '支付积分': item.pay_integral,
          '支付时间': item.pay_time * 1000,
          '备注': item.remark,
          '所属顾客企微标识': item.external_userid,
          '商品名字': item.goods_name,
          '商品图片': item.goods_banner,
          '下单时间': item.create_time * 1000,
          '订单状态': item.status,
          '省市区': item.area
        }
      })
    }
  }
})()
